This paper documents a model of the COVID-19 epidemic in South Africa. Mobility data is used to model the reproduction number of the COVID-19 epidemic over time using a Bayesian hierarchical model. This is achieved by adapting the work by Imperial College London researchers [1] for South Africa. Authors from Imperial College London have built similar models for Brazil [2] and the United States [3]. In this case the model is calibrated to excess deaths [4] and not case counts or reported COVID-19 deaths.
The model uses mobility movement indexes by province produced by Google [5]. Furthermore the model includes a fixed effect for interventions introduced at the start of level 4 lockdown.
The model and report are automatically generated on a regular basis using R [6]. This version contains data available on 05 March 2021.
An online, regularly updated version of this report is available here.
As this paper is updated over time this section will summarise significant changes. The code producing this paper is tracked using git. The git commit hash for this project at the time of generating this paper was da0db437549baa8280f7bf5cbc0a46f172153541 and this change was made on 2021-03-05.
2020-05-31
2020-06-01
2020-06-04
2020-06-08
2020-06-09
2020-06-10
2020-06-20
2020-06-22
2020-07-04
2020-07-07
2020-07-16
2020-07-26
2020-08-19
2020-08-27
2020-09-04
2020-09-05
2020-09-09
2020-09-16
2020-09-23
2020-09-30
2020-10-07
2020-10-14
2020-10-22
2020-10-29
2020-11-11
2020-11-24
2020-11-25
2020-11-28
2020-12-02
2020-12-09
2020-12-14
2020-12-16
2020-12-23
2021-01-01
2021-01-06
2021-01-11
2021-01-24
2021-02-03
2021-02-10
2021-02-17
A detailed description of the methodology and assumptions is provided below below. The key features of the approach employed are summarised here:
The national mobility data from [5] is plotted below. The model uses the indexes at a provincial level but here the national indexes are plotted for convenience. Clear trends are observable:
Google Mobility Indexes for South Africa
The chart below summarises the average mobility index used in the model. This is the average of mobility indicators excluding parks and residential. This follows [7].
Average Mobility
There are some risks to using the mobility data above as it may be biased to the Android operating system, people with smartphones and people with enough data on their smartphone to share their location.
This bias does not really represent a problem though unless it changes over time because then the model would not be able to produce accurate projections. There is a risk that mobility changes disproportionally between users contributing data to these indexes and those not. It would not seem reasonable to expect a major change in the bias over time (unless the calculation is somehow compromised). Provincial biases may exist, but the model also allows the provinces to exhibit provincial-specific mobility effects for both parameters.
The average mobility (excluding residential & park indexes) is plotted below for the various provinces. From this plot it seems apparent that Western Cape mobility has reduced the most during lockdown and is, perhaps, increasing slower.
Average Mobility by Province
The sections below show how well the model is reproducing past excess death data. As the model is fitted to past death data we would want to see how well it is reproducing such data. Each section covers a province.
Various panels are plotted for each province:
In all the charts the darker shaded area represents a confidence interval of 50% and the lighter shaded area represents a confidence interval of 95%.
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in Eastern Cape
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Eastern Cape
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in Eastern Cape
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in Eastern Cape
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for Eastern Cape
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in Free State
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Free State
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in Free State
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in Free State
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for Free State
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in Gauteng
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Gauteng
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in Gauteng
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in Gauteng
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for Gauteng
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in KwaZulu-Natal
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in KwaZulu-Natal
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in KwaZulu-Natal
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in KwaZulu-Natal
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for KwaZulu-Natal
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in Limpopo
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Limpopo
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in Limpopo
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in Limpopo
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for Limpopo
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in Mpumalanga
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Mpumalanga
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in Mpumalanga
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in Mpumalanga
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for Mpumalanga
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in Northern Cape
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Northern Cape
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in Northern Cape
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in Northern Cape
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for Northern Cape
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in North West
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in North West
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in North West
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in North West
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for North West
The chart below shows 90% of excess deaths and the modelled deaths.
Projected Deaths and 90% of Excess Deaths in Western Cape
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Western Cape
Below modelled infections are plotted compared to confirmed cases.
Projected Infections compared to Confirmed Cases in Western Cape
Below the \(R_{t,m}\) is plotted.
Effective Reproduction Number in Western Cape
Below the \(2\cdot\phi^{-1}(-\epsilon_{w_m(t),m}))\) is plotted.
Weekly AR(2) Factor Plot for Western Cape
To understand the net parameter estimates for \(\alpha\) and \(\alpha_{m}^s\) and their impact on \(R_{t,m}\) the percentage reduction in \(R_{t,m}\) assuming the particular index is 1 (representing a 100% reduction in average mobility) is plotted.
This is equivalent to plotting \(1-2\cdot\phi^{-1}(-(\alpha+\alpha_{m}^s))\) for a particular province \(m\). \(1-2\cdot\phi^{-1}(-(\beta+\beta_{m}^s))\) is also plotted.
The confidence intervals are relatively wide with some provinces not showing much impact of mobility, including the Western Cape. These same provinces show higher impact of NPIs introduced with Level 4 (such as mask wearing and workplace screening).
Model Parameter Estimates with 95% Confidence Intervals
Estimates for \(R_{0,m}\) for each province are plotted below. In all provinces posterior estimates for \(R_{0,m}\) are not heavily influenced by the data. This is probably due to the relatively early lockdown implemented in South Africa. There were probably not enough deaths that resulted from infection prior to lockdown to develop an independent estimate for each province of \(R_{0,m}\).
Initial Reproduction Number by Province
Current estimates and 95% confidence intervals for \(R_{t,m}\) (current effective reproduction number) are plotted below for each province. A value below 1 would indicate an epidemic that is slowing while a value above 1 indicates an epidemic that is growing. It is clear that the spread of the epidemic is somewhat slowed compared to the initial \(R_{0,m}\). For some provinces the confidence interval does not include 1 which would indicate this to a stronger degree.
Current Reproduction Number by Province
The estimated attack rate and cumulative deaths (with 95% confidence intervals) are tabulated below (as at 05 March 2021).
The attack rate is the proportion of the population infected to date. This figure has to be estimated, because many that are infected experience no or mild symptoms, thus they may not seek medical advice and hence will never be tested.
Cumulative deaths are also inexact due to the fact that it’s based off an uncertain proportion of excess deaths which also needs to be projected to the latest date.
The confidence intervals for these estimates remain wide.
| Province | Attack Rate | Cumulative Deaths |
|---|---|---|
| EC | 71.2% [52.9%-86.9%] | 30 741 [ 23 139 - 39 109] |
| FS | 50.1% [33.0%-73.2%] | 6 383 [ 4 502 - 8 957] |
| GP | 48.2% [30.5%-73.1%] | 24 390 [ 16 492 - 35 757] |
| KZN | 74.8% [52.3%-92.7%] | 34 073 [ 24 267 - 44 800] |
| LP | 51.8% [29.5%-90.4%] | 14 083 [ 8 495 - 24 688] |
| MP | 57.7% [35.7%-87.6%] | 10 037 [ 6 504 - 15 522] |
| NC | 55.3% [36.2%-79.4%] | 3 082 [ 2 191 - 4 250] |
| NW | 30.8% [18.6%-52.5%] | 4 841 [ 3 180 - 7 535] |
| WC | 59.0% [38.2%-84.8%] | 16 937 [ 11 602 - 24 103] |
| South Africa | 57.3% [48.8%-66.9%] | 144 567 [124 740 - 166 592] |
One of the reasons we build models is so that we can make sense of the future or indeed the past. We can project forward models to assess the impact of varying assumptions on future outcomes. This gives us a sense of how changes in actions may impact the future. I.e. it allows us to answer “what if” questions. Note however that in projecting the future we are extrapolating, and due care needs to be taken. There are numerous limitations to this model and these projections dicussed below but the author is also of the opinion that the projections add value in that they indicate a significant range across the scenarios projected and in such a manner inform discussion.
All models are wrong but some are useful - George Box [14]
An incorrect model can be useful because it enables a better understanding of the model and the phenomena being modelled.
Note detailed projection output can be found here.
Projections are done using constant, increasing and decreasing mobility but other interventions are left constant. It should also be noted that the \(\epsilon_{w_m(t),m}\) are projected forward at constant levels and are not adjusted for projection purposes.
The \(\epsilon_{w_m(t),m}\) is held at “current” levels when projecting forwards. It should be noted that these levels are set 28 days prior as recent deaths only affect infections that occured prior to that. Based on the observed calibration for Western Cape there is a possibility that this may be resulting in too low recent infections.
In this projection mobility is held constant at current levels. Level 4 interventions are left intact.
The result of this scenario as at 31 March 2021 and 30 June 2021 are tabulated below. Note based on these it would appear that some provinces have already reached the peak in daily deaths.
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 71.7% [53.5%-87.1%] | 31 020 [ 23 542- 39 289] | 335 | 2021-01-02 |
| FS | 52.9% [33.9%-79.8%] | 6 790 [ 4 727- 9 665] | 78 | 2020-08-05 |
| GP | 50.6% [31.4%-77.9%] | 25 708 [ 17 241- 37 471] | 334 | 2020-07-20 |
| KZN | 74.9% [52.7%-92.7%] | 34 323 [ 24 655- 44 870] | 631 | 2021-01-13 |
| LP | 52.9% [30.0%-90.4%] | 14 569 [ 8 851- 24 835] | 310 | 2021-01-19 |
| MP | 59.6% [36.6%-88.2%] | 10 549 [ 6 890- 15 800] | 185 | 2021-01-20 |
| NC | 59.6% [37.5%-85.8%] | 3 459 [ 2 386- 4 929] | 23 | 2021-01-19 |
| NW | 34.3% [19.1%-70.0%] | 5 339 [ 3 370- 9 021] | 85 | 2021-01-22 |
| WC | 59.4% [38.5%-84.9%] | 17 106 [ 11 758- 24 167] | 237 | 2021-01-08 |
| South Africa | 58.8% [49.9%-69.0%] | 148 864 [128 969-171 094] | 1 975 | 2021-01-15 |
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 72.2% [53.9%-87.2%] | 31 412 [ 23 846- 39 672] | 335 | 2021-01-02 |
| FS | 55.7% [34.7%-82.9%] | 7 479 [ 4 894- 11 470] | 78 | 2020-08-05 |
| GP | 53.5% [32.0%-81.5%] | 28 297 [ 17 796- 44 265] | 334 | 2020-07-20 |
| KZN | 75.1% [52.9%-92.7%] | 34 459 [ 24 872- 44 908] | 631 | 2021-01-13 |
| LP | 53.9% [30.3%-90.4%] | 15 129 [ 9 043- 25 099] | 310 | 2021-01-19 |
| MP | 61.1% [37.4%-88.5%] | 11 130 [ 7 130- 16 341] | 185 | 2021-01-20 |
| NC | 62.2% [38.2%-86.9%] | 3 855 [ 2 487- 5 658] | 23 | 2021-01-19 |
| NW | 39.0% [19.5%-78.6%] | 6 593 [ 3 494- 13 782] | 85 | 2021-01-22 |
| WC | 59.9% [38.9%-85.1%] | 17 362 [ 11 905- 24 541] | 237 | 2021-01-08 |
| South Africa | 60.5% [51.0%-70.9%] | 155 717 [133 666-180 800] | 1 975 | 2021-01-15 |
This scenario assumes future mobility half-way between current mobility levels and normal levels. Other interventions are left intact. The attack rate and deaths after increasing mobility are tabulated below (as at 31 March 2021 and 30 June 2021).
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 71.7% [53.5%-87.1%] | 31 023 [ 23 547- 39 289] | 335 | 2021-01-02 |
| FS | 53.1% [33.9%-80.5%] | 6 794 [ 4 731- 9 675] | 78 | 2020-08-05 |
| GP | 51.0% [31.5%-78.7%] | 25 735 [ 17 246- 37 572] | 334 | 2020-07-20 |
| KZN | 75.0% [52.8%-92.7%] | 34 326 [ 24 660- 44 870] | 631 | 2021-01-13 |
| LP | 52.9% [30.0%-90.4%] | 14 570 [ 8 852- 24 835] | 310 | 2021-01-19 |
| MP | 59.6% [36.6%-88.3%] | 10 551 [ 6 891- 15 800] | 185 | 2021-01-20 |
| NC | 59.8% [37.6%-86.1%] | 3 461 [ 2 387- 4 932] | 23 | 2021-01-19 |
| NW | 34.4% [19.1%-70.8%] | 5 341 [ 3 370- 9 027] | 85 | 2021-01-22 |
| WC | 59.5% [38.6%-85.0%] | 17 110 [ 11 769- 24 167] | 237 | 2021-01-08 |
| South Africa | 59.0% [50.0%-69.2%] | 148 911 [129 035-171 171] | 1 975 | 2021-01-15 |
Based on the above an increase mobility could mean roughly 0 more deaths by end of March 2021.
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 72.5% [54.1%-87.3%] | 31 518 [ 23 926- 39 831] | 335 | 2021-01-02 |
| FS | 56.5% [34.9%-83.8%] | 7 584 [ 4 910- 11 683] | 78 | 2020-08-05 |
| GP | 55.0% [32.4%-83.3%] | 29 019 [ 17 963- 45 759] | 334 | 2020-07-20 |
| KZN | 75.2% [53.1%-92.7%] | 34 499 [ 24 958- 44 911] | 631 | 2021-01-13 |
| LP | 54.0% [30.4%-90.5%] | 15 156 [ 9 049- 25 118] | 310 | 2021-01-19 |
| MP | 61.4% [37.4%-88.5%] | 11 172 [ 7 139- 16 391] | 185 | 2021-01-20 |
| NC | 62.8% [38.5%-87.2%] | 3 892 [ 2 500- 5 714] | 23 | 2021-01-19 |
| NW | 39.5% [19.6%-79.6%] | 6 676 [ 3 499- 13 957] | 85 | 2021-01-22 |
| WC | 60.4% [39.0%-85.3%] | 17 474 [ 11 946- 24 731] | 237 | 2021-01-08 |
| South Africa | 61.1% [51.3%-71.6%] | 156 990 [134 360-182 837] | 1 975 | 2021-01-15 |
Based on the above an increase mobility could mean roughly 1 000 more deaths by the end of June 2021.
This scenario assumes future mobility is decreased by 50% more than currently. The attack rate and deaths after decreased mobility are tabulated below (as at 31 March 2021 and 30 June 2021).
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 71.6% [53.4%-87.0%] | 31 017 [ 23 529- 39 289] | 335 | 2021-01-02 |
| FS | 52.7% [33.8%-79.3%] | 6 786 [ 4 724- 9 659] | 78 | 2020-08-05 |
| GP | 50.3% [31.2%-77.3%] | 25 685 [ 17 232- 37 446] | 334 | 2020-07-20 |
| KZN | 74.9% [52.7%-92.7%] | 34 322 [ 24 654- 44 870] | 631 | 2021-01-13 |
| LP | 52.9% [30.0%-90.4%] | 14 568 [ 8 851- 24 835] | 310 | 2021-01-19 |
| MP | 59.5% [36.6%-88.2%] | 10 548 [ 6 890- 15 798] | 185 | 2021-01-20 |
| NC | 59.4% [37.4%-85.5%] | 3 457 [ 2 385- 4 925] | 23 | 2021-01-19 |
| NW | 34.2% [19.1%-69.4%] | 5 338 [ 3 370- 9 020] | 85 | 2021-01-22 |
| WC | 59.3% [38.5%-84.9%] | 17 103 [ 11 757- 24 167] | 237 | 2021-01-08 |
| South Africa | 58.7% [49.8%-68.8%] | 148 824 [128 899-171 026] | 1 975 | 2021-01-15 |
Based on the above a decrease in mobility could mean roughly 0 fewer deaths by end of March 2021.
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 72.0% [53.8%-87.1%] | 31 329 [ 23 771- 39 609] | 335 | 2021-01-02 |
| FS | 55.0% [34.5%-82.0%] | 7 391 [ 4 880- 11 294] | 78 | 2020-08-05 |
| GP | 52.4% [31.7%-79.9%] | 27 739 [ 17 679- 42 932] | 334 | 2020-07-20 |
| KZN | 75.0% [52.8%-92.7%] | 34 430 [ 24 809- 44 907] | 631 | 2021-01-13 |
| LP | 53.8% [30.3%-90.4%] | 15 105 [ 9 038- 25 089] | 310 | 2021-01-19 |
| MP | 60.9% [37.3%-88.3%] | 11 095 [ 7 121- 16 297] | 185 | 2021-01-20 |
| NC | 61.7% [38.0%-86.5%] | 3 823 [ 2 480- 5 617] | 23 | 2021-01-19 |
| NW | 38.6% [19.5%-78.0%] | 6 538 [ 3 490- 13 638] | 85 | 2021-01-22 |
| WC | 59.7% [38.7%-85.0%] | 17 286 [ 11 874- 24 444] | 237 | 2021-01-08 |
| South Africa | 60.0% [50.7%-70.4%] | 154 737 [133 025-179 317] | 1 975 | 2021-01-15 |
Based on the above a decrease in mobility could mean roughly 1 000 fewer deaths by the end of June 2021.
This scenario assumes future mobility returns to normal, mask wearing is eliminated as well as that the AR(2) term reverts to 0. The attack rate and deaths are tabulated below (as at 31 March 2021 and 30 June 2021). This would be a relatively extreme worst case scenario as this essentially assumes not mitigation measures in place and would probably be close to the absolute worst case.
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 71.8% [54.4%-86.9%] | 31 023 [ 23 570- 39 289] | 335 | 2021-01-02 |
| FS | 58.3% [38.4%-82.3%] | 6 861 [ 4 804- 9 674] | 78 | 2020-08-05 |
| GP | 56.2% [35.7%-81.9%] | 25 977 [ 17 538- 37 629] | 334 | 2020-07-20 |
| KZN | 75.1% [53.8%-92.7%] | 34 333 [ 24 696- 44 870] | 631 | 2021-01-13 |
| LP | 56.8% [33.6%-90.4%] | 14 676 [ 9 014- 24 836] | 310 | 2021-01-19 |
| MP | 63.2% [41.2%-88.1%] | 10 620 [ 7 008- 15 788] | 185 | 2021-01-20 |
| NC | 65.5% [43.5%-86.2%] | 3 501 [ 2 439- 4 929] | 29 | 2021-04-25 |
| NW | 48.7% [23.7%-86.5%] | 5 548 [ 3 477- 9 377] | 218 | 2021-04-29 |
| WC | 60.2% [40.1%-84.9%] | 17 129 [ 11 838- 24 161] | 237 | 2021-01-08 |
| South Africa | 62.5% [53.5%-72.2%] | 149 667 [130 020-171 707] | 1 975 | 2021-01-15 |
Based on the above the worst case scenario could result in roughly 1 000 more deaths by the end of March 2021.
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 75.0% [63.2%-87.3%] | 32 394 [ 25 794- 40 164] | 335 | 2021-01-02 |
| FS | 83.4% [67.4%-92.0%] | 11 178 [ 7 697- 14 487] | 78 | 2020-08-05 |
| GP | 83.9% [66.0%-92.7%] | 44 225 [ 30 105- 57 201] | 334 | 2020-07-20 |
| KZN | 77.5% [62.3%-92.7%] | 35 357 [ 27 144- 45 141] | 631 | 2021-01-13 |
| LP | 81.8% [61.7%-93.2%] | 22 763 [ 15 116- 30 417] | 310 | 2021-01-19 |
| MP | 80.9% [65.2%-91.8%] | 14 651 [ 10 487- 19 151] | 185 | 2021-01-20 |
| NC | 82.7% [69.3%-90.9%] | 5 128 [ 3 720- 6 535] | 29 | 2021-04-25 |
| NW | 90.6% [81.5%-95.4%] | 15 565 [ 11 481- 19 180] | 218 | 2021-04-29 |
| WC | 74.7% [56.4%-89.5%] | 21 048 [ 15 113- 29 252] | 237 | 2021-01-08 |
| South Africa | 80.5% [74.1%-85.7%] | 202 310 [179 443-224 558] | 1 975 | 2021-01-15 |
Based on the above the worst case scenario could result in roughly 47 000 more deaths by the end of June 2021.
The results for South Africa as a whole are plotted below. This is the sum of the provincial projections.
Projected Attack Rate and Daily Deaths in South Africa
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in South Africa by Scenario
The projections for Eastern Cape are plotted below.
Projected Attack Rate and Daily Deaths in Eastern Cape
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Eastern Cape by Scenario
The projections for the Free State are plotted below.
Projected Attack Rate and Daily Deaths in Free State
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Free State by Scenario
The projections for Gauteng are plotted below.
Projected Attack Rate and Daily Deaths in Gauteng
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Gauteng by Scenario
The projections for KwaZulu-Natal are plotted below.
Projected Attack Rate and Daily Deaths in KwaZulu-Natal
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in KwaZulu-Natal by Scenario
The projections for Limpopo are plotted below.
Projected Attack Rate and Daily Deaths in Limpopo
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Limpopo by Scenario
The projections for Mpumalanga are plotted below.
Projected Attack Rate and Daily Deaths in Mpumalanga
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Mpumalanga by Scenario
The projections for the Northern Cape are plotted below.
Projected Attack Rate and Daily Deaths in Northern Cape
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Northern Cape by Scenario
The projections for the North West are plotted below.
Projected Attack Rate and Daily Deaths in North West
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in North West by Scenario
The projections for the Western Cape are plotted below.
Projected Attack Rate and Daily Deaths in Western Cape
The attack rate and deaths over a longer period for the various scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Western Cape by Scenario
There remains significant uncertainty with all matters relating this epidemic. This includes uncertainty in data, assumptions and many epidemiological and medical matters relating to this disease. It is therefore likely that the model will not be accurate. It is also reflected in the wide confidence intervals of many of the results of the model.
Some researchers have gone as far as to say that it is not possible to accurately estimate the mean number of fatalities of pandemics based on data ([15] & [16]). This would indicate the goal of the paper may be futile.
This paper has however attempted to allow for uncertainty using the Bayesian approach here which results in at least some distribution of possible results, some of which are definitely catastrophic and some of which are less severe.
This analysis has various limitations. A few are highlighted below but there are many. Perhaps the most important being the lack of good quality data.
The epidemic starts in most provinces with a relatively high \(R_{t,m}\)(based on assumptions). This then reduces as mobility reduces due to lockdown. In some provinces an additional reduction can be seen at the time maskwearing and work place screening is introduced. However in most provinces the epidemic starts spreading during lockdown. The autoregressive term is adjusting to fit the increased numbers of deaths that are observed.
After the above first wave, the spread of the disease slows down. The reason for this slow down in spread is not clear. Some possible interpretations are:
After the the first wave has passed there is a relatively long period of limited deaths but from October to December 2020 a second wave emerges through increased deaths from the Eastern Cape, Western Cape and then spreading to the other provinces.
It’s though that this second wave is due to the emergence of a new variant of SARS-CoV-2 in South Africa. ## Relevance of IFR
The IFR is not treated as a parameter but as a constant with random noise. Changes to the IFR will change the modelled infections that correlate with the observed deaths. Sensitivity to the IFR could be modelled.
If the IFR is higher than what is assumed (which would seem likely), we would expect lower attack rates at present and thus the epidemic could result in a higher ultimate death toll as well. A lower than assumed IFR would imply more people have been infected already and we would be further along in the epidemic.
From the results it’s clear that \(R_{t,m}\) in some provinces has reduced from the starting values of \(R_{0,m}\) and this has slowed the spread of the epidemic in South Africa saving lives. However, in Europe the lockdowns have been able to reduce \(R_{t}\) below 1 for various countries [19]. As shown here, South Africa’s lockdown and other interventions have not been as successful as in most the European countries shown in [19].
Changes in mobility has an impact on the outcomes but the impact is relatively muted. Mobility is supposed to be a measure of the contact rates of individuals. It’s speculated that the measure of mobility is not accurate enough for densely populated neighbourhoods and hence is not a good proxy for contact rates. This may explain the first wave appearing when mobility was low.
Also mobility may not be representative of a broad enough sector of the population and hence not capture the impact of lockdowns appropriately.
Using mobility data is useful not only to measure the impact of government interventions but also to include the societal response to those interventions (as they affect mobility). This means that changes in the reaction to new regulations can be modelled. It may also be useful going forward as many new regulations are introduced possibly at a provincial level to summarise the impact of interventions numerically. From this research it appears that mobility cannot explain the pattern of spread of the epidemic fully.
This paper projects mobility changes forward. It can be seen that that as the model assigns some value to initiatives introduced at the start of level 4 around mask wearing and workplace screening. These reduce the impact of increasing mobility such that in the Western Cape the \(R_{t,m}\) actually reduced in level 4 compared to level 5.
When health system capacity is under pressure in various provinces it would seem likely that the mortality rate of infected individuals in those provinces would increase. This model needs to take account of that for two reasons:
The model does not currently do this.
Previous versions of the model over predicted deaths to a large degree. The introduction of the autoregressive process as per [9] to model further residuals has improved this aspect of the model. This term may be reflecting other NPIs, general population awareness and behaviour adjustment or other unmodelled disease effects. However these should be treated as an error term in that they do not aid the understanding of the disease and show deficiencies in this model.
The worst case scenario is highly unlikely. It would seem more likely that mask wearing reduces and mobility increases but not to extreme of no mask wearing or full mobility. The AR(2) terms as it tracks other behaviour is also unlikely to go back to 0 as there would probably be response by the population to evidence of surging cases, admissions and deaths by reducing contact rates and hence the reproduction number.
The calculation is nonetheless useful as it shows clearly that an unmitigated spread of the virus could still lead to a large numbers of infections and deaths and that continuous mitigation efforts are required to avoid rising excess deaths.
It should also be noted with the emergence of vaccines that any infections that can be delayed long enough would result in the associated negative health outcomes and deaths to be avoided.
Along with the above, the author intends to investigate the following:
The model assumes that the current reproduction number, \(R_{t,m}\), is a function of the initial reproduction number, \(R_{0,m}\), and changes in mobility over time. It then calculates infections as a function of \(R_{t,m}\) over time, and then, using these infections calculates deaths from the infections based on a distribution of time to death.
Various prior distributions are assumed. The model structure is similar to that in [1] and is briefly documented below. The parameters are estimated jointly using a single hierarchical model covering all provinces. This means that data in different provinces are combined to inform all parameters in the model. As per [1], fitting was done in R using Stan with an adaptive Hamiltonian Monte Carlo sampler.
The model is documented here but is similar to [1]. The model assumes a base reproduction number (\(R_{0,m}\)) for each province (\(m\)) and then it models future values of the reproduction number using mobility indexes as follows:
\(R_{t,m}=R_{0,m}\cdot2\cdot\phi^{-1}(-(\alpha+\alpha_{m}^s)I_{t,m}^{\alpha}-(\beta+\beta_{m}^s)I_{t,m}^{\beta}-\epsilon_{w_m(t),m})\)
Here:
New infections are modelled as:
\(c_{t,m}=S_{t,m}R_{t,m}\sum_{\tau=0}^{t-1}c_{\tau,m}g_{t-\tau}\)
where \(S_{t,m}=1 - \frac{\sum_{i=0}^{t-1}c_{i,m}}{N_{m}}\).
New infections, \(c_{t,m}\) at time \(t\) are a function of proportion of population not yet infected (\(S_{t,m}\)), the reproduction number (\(R_{t,m}\)) and infections prior to that \(c_{\tau,m}\) as well as an infectiousness curve \(g_{t-\tau}\). \(N_m\) is the population in province \(m\).
Deaths, \(d_{t,m}\) are modelled as:
\(d_{t,m}=ifr_{m}^*\sum_{\tau=0}^{t-1}c_{\tau,m}\pi_{t-\tau}\)
Here:
It is assumed that COVID-19 deaths are a proportion of excess deaths (\(\psi_m\)). Weekly excess deaths are calculated as:
\(d'_{t',m}=\frac{\sum_{week}{d_{t,m}}}{\psi_m}\)
Here \(t'\) represents time in weeks rather than days.
Weekly excess deaths \(D'_{t',m}\) are assumed to have the following distribution:
\(D'_{t',m} \sim Negative\ Binomial(d'_{t',m},d'_{t',m}+ \frac{{d'}_{t',m}^2}{\phi_1})\)
If \(Y \sim N(\mu,\sigma)\) then we define \(N^{+}\) to mean the distribution of \(|Y| \sim N^{+}(\mu,\sigma)\).
It is assumed that:
\(\phi_1 \sim N^{+}(0,5)\)
Then: \(d'_{t,m}=E(D'_{t,m})\)
The following assumptions are taken as is from [1] except where indicated.
Random noise is added to the IFR as follows:
\(ifr_{m}^*=ifr_{m}\cdot N(1,0.1)\)
\(\alpha\) and \(\beta\) are distributed as follows:
\(\alpha \sim N(0,0.5)\)
\(\beta \sim N^{+}(0,1)\)
The above distribution for \(\beta\) has been increased to reflect [8] which indicated an effect of mask wearing. In this paper a relative risk of 0.56 is indicated for mask wearing in non-health-care settings. The above prior assumption would indicate a 0.62 expected relative risk. \(\beta\) is not a parameter in the model used in [1].
Then for the provincial specific index effects the following is used:
\(\alpha_{m}^s \sim N(0,\gamma^{\alpha})\) with \(\gamma^{\alpha} \sim N^{+}(0,0.5)\)
\(\beta_{m}^s \sim N(0,\gamma^{\beta})\) with \(\gamma^{\beta} \sim N^{+}(0,0.5)\)
\(\beta_{m}^s\) is a parameter in the model used in [1].
The \(R_{0,m}\) are defined to be distributed normally as follows:
\(R_{0,m} \sim N(3.28,\kappa)\) with \(\kappa \sim N^{+}(0,0.5)\)
\(\epsilon_{w_m(t),m}\), the weekly province specific effect above is as described in [9]:
Infectiousness follows this distribution:
\(g \sim Gamma(6.5,0.62)\)
Infectiousness / Serial Interval
Time to death follows this distribution:
\(\pi \sim Gamma(5.1,0.86)+Gamma(17.8,0.45)\)
The distribution of time to death is plotted below.
Distribution of Time to Death since Infection
The above implies an average time to death of 23 days.
A beta distribution is assumed for \(\psi_m\):
\(\psi_m \sim B(27,3)\)
The above distribution has a mean of 0.9, which is an assumption based on early indications that the majority of excess deaths are due to COVID-19. The distribution above implies that the probability \(\psi_m\) is below 0.8 is roughly 0.05. It is estimated that reported deaths in Western Cape is 70-80% of excess deaths, indicating a possible lower bound on the proportion of excess deaths that are due to COVID-19.
Death and case data were used from [20]. This data set contains provincial case and death data as released by National Institute of Communicable Diseases (NICD). These data are shown for comparison purposes only as the model calibrates against excess deaths.
Excess deaths are taken from [4]. These excess deaths only contain deaths from 6 May 2020 and later (depending on when excess deaths were observed to start in each province). Reported COVID-19 deaths prior to these dates were included and treated as excess deaths.
Any negative excess deaths are set to zero.
Below weekly excess deaths for each province is plotted:
Excess Deaths by Province and Week
The age-specific infection attack rates (IAR) was was calculated using the output of the squire R package [13]. It produces age-specific infection attack rates (IAR). The projection was done using the default parameters for South Africa and the resultant attack rate (\(a_{x}\)) for each 5-year age band was obtained (\(x\)).
Per age infection fatality rates from [10] was used (\(ifr_{x}\)). These are slightly lower than those from [11], [12] and [13].
Additionally HIV prevalence by age-band and province, \(i_{x,m}^{HIV}\) was taken into account from [21] as well as results from [22]. In [22] it is shown that lives with HIV have higher COVID-19 mortality once infected. Based on these results it is assumed to be three times COVID-19 mortality below 55 and double mortality from age 55 upwards (\(m_x^{HIV}\)).
These \(a_{x}\) and \(ifr_{x}\) and HIV adjustments were then applied to the South African population per province and age band as per [23] and weighted IFRs calculated as follows.
\(ifr_{m}=\frac{\sum_{x}N_{x,m} \cdot a_{x} \cdot ifr_{x}( (1-i_{x,m}^{HIV}) +i_{x,m}^{HIV} \cdot m_x^{HIV})}{\sum_{x}N_{x,m}}\)
Here \(N_{x,m}\) is the population in a particular province (\(m\)) and age band (\(x\)).
Below the resultant \(ifr_{m}\) are tabulated:
| Province | IFR |
|---|---|
| EC | 0.64% |
| FS | 0.48% |
| GP | 0.36% |
| KZN | 0.41% |
| LP | 0.49% |
| MP | 0.41% |
| NC | 0.5% |
| NW | 0.43% |
| WC | 0.44% |
| South Africa | 0.44% |
The differences between provinces reflect the different age profiles in those provinces as per [23] and also differences in HIV prevalence. This seems low compared to the IFRs in [18], but may be reasonable given the younger profile of the South African population.
Google has released aggregated mobility data for various countries and for sub-regions in those countries. These data are generated from devices that have enabled the Location History in Google Maps. This feature is available both on Android and iOS devices but is off by default.
For South Africa, these data contain the mobility indexes for each province. These are described in [5] as follows:
These measure changes in mobility relative to a baseline established before the epidemic. For example, -30% implies a 30% reduction in mobility from pre-COVID-19 mobility.
As per [7] these data were combined into an average mobility index for each province which was an average of all mobility indexes excluding:
In [1] three indexes were used (Residential, Transit and the rest). This was reduced for this paper due to limited data.
This paper has set out to show how a Bayesian model can be fitted to the South African data. From the process it becomes clear that there remains significant uncertainty with all matters relating this epidemic. It is therefore likely that the model will not be accurate.
This paper has however attempted to allow for uncertainty using the Bayesian approach here which results in at least some distribution of possible results, some of which are definitely catastrophic and some of which are less severe.
It is hoped that this is a useful contribution to the ongoing research on the epidemic.
[1] M. Vollmer et al., “Report 20: A sub-national analysis of the rate of transmission of COVID-19 in Italy,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-20-italy/
[2] T. Mellan et al., “Report 21: Estimating COVID-19 cases and reproduction number in Brazil,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-21-brazil/
[3] H. Unwin et al., “Report 23: State-level tracking of COVID-19 in the United States,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-23-united-states/
[4] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 21 - 27 February 2021 (Week 8),” Burden of Disease Research Unit, South African Medical Research Council, Mar. 2021 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2021-03-03/weekly27Feb2021.pdf. [Accessed: 05-Mar-2021]
[5] Google LLC, “Google COVID-19 community mobility reports.” 2020 [Online]. Available: https://www.google.com/covid19/mobility/
[6] R Core Team, R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing, 2019 [Online]. Available: https://www.R-project.org/
[7] P. Nouvellet et al., “Report 26: Reduction in mobility and COVID-19 transmission,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-26-mobility-transmission/
[8] D. K. Chu et al., “Physical distancing, face masks, and eye protection to prevent person-to-person transmission of SARS-CoV-2 and COVID-19: A systematic review and meta-analysis,” The Lancet, vol. 395, no. 10242, pp. 1973–1987, Jun. 2020, doi: 10.1016/S0140-6736(20)31142-9. [Online]. Available: https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(20)31142-9/fulltext
[9] H. J. T. Unwin et al., “State-level tracking of COVID-19 in the United States,” Nature Communications, vol. 11, nos. 1, 1, p. 6189, Dec. 2020, doi: 10.1038/s41467-020-19652-6. [Online]. Available: https://www.nature.com/articles/s41467-020-19652-6. [Accessed: 01-Jan-2021]
[10] A. T. Levin, G. Meyerowitz-Katz, N. Owusu-Boaitey, K. B. Cochran, and S. P. Walsh, “Assessing the age specificity of infection fatality rates for COVID-19: Systematic review, Meta-Analysis, and public policy implications,” Oct. 2020, doi: 10.1101/2020.07.23.20160895. [Online]. Available: https://doi.org/10.1101/2020.07.23.20160895. [Accessed: 23-Nov-2020]
[11] R. Verity et al., “Estimates of the severity of coronavirus disease 2019: A model-based analysis,” The Lancet Infectious Diseases, vol. 20, no. 6, pp. 669–677, Jun. 2020, doi: 10.1016/s1473-3099(20)30243-7. [Online]. Available: https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext
[12] N. Ferguson et al., “Report 9: Impact of non-pharmaceutical interventions (NPIs) to reduce COVID19 mortality and healthcare demand,” Imperial College London, Mar. 2020 [Online]. Available: http://spiral.imperial.ac.uk/handle/10044/1/77482. [Accessed: 29-Oct-2020]
[13] P. Walker et al., “Report 12: The global impact of COVID-19 and strategies for mitigation and suppression,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-12-global-impact-covid-19/
[14] G. E. P. Box, “Robustness in the strategy of scientific model building,” in Robustness in statistics, Elsevier, 1979, pp. 201–236 [Online]. Available: https://doi.org/10.1016/b978-0-12-438150-6.50018-2
[15] N. N. Taleb, Y. Bar-Yam, and P. Cirillo, “On Single Point Forecasts for Fat-Tailed Variables,” 31-Jul-2020. [Online]. Available: http://arxiv.org/abs/2007.16096. [Accessed: 26-Oct-2020]
[16] P. Cirillo and N. N. Taleb, “Tail risk of contagious diseases,” Nature Physics, vol. 16, no. 6, pp. 606–613, May 2020, doi: 10.1038/s41567-020-0921-x. [Online]. Available: https://www.nature.com/articles/s41567-020-0921-x
[17] Independent Communications Authority of South Africa, “The state of the ICT sector report in South Africa,” 2020 [Online]. Available: https://www.icasa.org.za/legislation-and-regulations/state-of-the-ict-sector-in-south-africa-2020-report
[18] G. Meyerowitz-Katz and L. Merone, “A systematic review and meta-analysis of published research data on COVID-19 infection-fatality rates” [Online]. Available: https://www.medrxiv.org/content/10.1101/2020.05.03.20089854v3
[19] S. Flaxman et al., “Report 13: Estimating the number of infections and the impact of non-pharmaceutical interventions on COVID-19 in 11 European countries,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-13-europe-npi-impact/
[20] V. Marivate et al., “Coronavirus disease (COVID-19) case data - South Africa.” Zenodo, 21-Mar-2020 [Online]. Available: https://zenodo.org/record/3888499. [Accessed: 26-Oct-2020]
[21] L. Johnson, R. Dorrington, and H. Moolla, “Progress towards the 2020 targets for HIV diagnosis and antiretroviral treatment in South Africa,” Southern African Journal of HIV Medicine, vol. 18, no. 1, p. 8, 2017, doi: 10.4102/sajhivmed.v18i1.694. [Online]. Available: https://sajhivmed.org.za/index.php/hivmed/article/view/694
[22] M.-A. Davies, “Brief update on surveilance of COVID-19 infections in the Western Cape.” [Online]. Available: http://www.medicine.uct.ac.za/covid19-echo-clinic
[23] Statistics South Africa, “Mid-year population estimates 2019,” Republic of South Africa, 2019 [Online]. Available: https://www.statssa.gov.za/publications/P0302/P03022019.pdf